The present invention relates to a file system used for computer systems, data bank systems or the like, and more particularly to a disk file system suitable for use with a plurality of disk drives.
A conventional file system having a plurality of magnetic disk drives from or into which data divided in units of a bit or byte are parallel read or written at the same time, is disclosed, for example, in Mini-Micro Systems, Dec. 1987, pp. 15 to 16. This system is constructed as shown in FIG. 2. Specifically, in writing information, data as well as a write command sent from a computer main frame (CPU, not shown) are supplied via an input/output controller 21 to a sequencer 22 whereat the serial input data are divided in units of a bit or byte and converted into parallel data. The parallel data are supplied via controllers provided for respective disk drives 31 to 35 to buffers 41 to 45. The above operations are controlled by a microprocessor 23. When the disk heads (not shown) reach the particular record areas, the parallel data are written in the areas at the same time. In most cases, the disk drives 31 to 35 are controlled to have synchronized revolution. The information read from each disk drive is temporarily stored in the buffer. The sequencer synchronously converts the parallel data from the disk drives into serial data which are sent via the input/output controller to the computer main frame.
There is disclosed in Japanese Patent Laid-Open Publication JP-A-54-39611 a technique wherein divided parallel data are written into or read from a plurality of stacked magnetic disks by using plural pairs of heads provided for both sides of each disk.
According to a technique described in Japanese Patent Laid-open Publication JP-A-61-187060, a plurality of processing devices and disk drives are coupled to a common bus and a common cache memory for reading/writing data. Use of a nonvolatile memory in a disk controller is described in IBM Product Announcement/IBM 3990 Storage Control.
The above conventional techniques all allow a high data transfer rate by dividing data stored in a single storage into plural data which are then written at the same time in plural disks, or vice versa.
According to the above-described conventional techniques, however, there is a problem that the system is fixed so that it cannot meet various user requirements. If, after such a fixed system is once introduced, a system of higher performance is required, it is necessary to replace the whole or part of the fixed system. A user file may sometimes be used both as a random accessing on-line file in the day and as a sequential batch processing file in the night. Such a performance changing with time cannot be met at all with the conventional techniques.
The conventional techniques are further associated with a problem that the transfer rate in reading/writing a great number of data is dependent upon the performance of an external storage (disk or the like). It is possible to support the operation or reading/writing a great number of data from/into a plurality of storages, with the aid of software. In this case, however, processing devices are dedicated to the software procedure so that the overhead is increased, resulting in a problem of lowering the computer system performance, a problem associated with development of control programs, and the like problem.
Further, for example, the system according to the conventional techniques may have an insufficient capability in processing concentrated read/write requests to particular data in an external storage during an on-line data processing. This is because there occurs a process time limit including an access time, latency time, and the like during disk mechanical operations.
Furthermore, a conventional parallel data transfer type disk file has the following problems depending upon the data length of the user file.
Specifically, an ordinary magnetic disk drive uses the data format as shown in FIG. 3. The truck is composed of an index marker 60 indicating the start of the truck, a home address area 70 for storing the cylinder number and head number for the truck, a record 0 area (Ro area) 80 for storing a location of a substitute truck and the like, and record (2 to n) areas 90. The records are partitioned by an area 100 called a gap. The gap is used for discriminating between records, synchronizing with the read analog circuit, and sending/receiving a command for the channel. Each record includes, as shown in FIG. 3, a count area 110 for identifying the record, a key area 120 (some record has not this area), and a data area 130 for storing user data, a gap 140 being interposed for discriminating between the areas 110, 120 and 130. The gap 100 between records is usually 61 bytes, whereas the gap 140 within the record is 51 bytes. Therefore, the gap areas of 112 or 163 bytes are required for storing one record.
According to the above-described conventional techniques, the number of divisions of data is always fixed so that the following problems occur. Namely, (1) if short length data are divided into a number of data, the data length (record length) becomes considerably short and the ratio of gap areas to one record area increases, thus lowering the efficiency. (2) Since the transfer rate is fixed, long length data requires a long data processing time.